Page({
  data: {
    visitorDetail: {},
    loading: false,
    token: ''
  },

  onLoad(options) {
    // 获取从列表页传递过来的访客ID
    const visitorId = options.id;
    console.log('当前访客ID：', visitorId);
    
    // 获取全局变量
    const app = getApp();
    this.setData({
      token: app.globalData.token
    });
    
    if (visitorId) {
      this.loadVisitorDetail(visitorId);
    } else {
      wx.showToast({
        title: '访客ID无效',
        icon: 'none'
      });
    }
  },

  // 加载访客详情
  loadVisitorDetail(visitorId) {
    if (!this.data.token) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }

    this.setData({ loading: true });

    const app = getApp();
    const baseUrl = app.globalData.baseUrl;

    wx.request({
      url: `${baseUrl}/property/visitor/${visitorId}`,
      method: 'GET',
      header: {
        'Authorization': 'Bearer ' + this.data.token
      },
      success: (res) => {
        console.log('访客详情接口返回:', res.data);
        
        if (res.data.code === 200 && res.data.data) {
          const detail = res.data.data;
          
          // 处理数据，添加格式化的字段
          const visitorDetail = {
            ...detail,
            statusText: this.getStatusText(detail.visitStatus),
            statusClass: this.getStatusClass(detail.visitStatus),
            formattedDate: this.formatDate(detail.visitDate),
            formattedDuration: this.formatDuration(detail.visitDuration)
          };
          
          this.setData({
            visitorDetail: visitorDetail
          });
        } else {
          wx.showToast({
            title: res.data.msg || '获取访客详情失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('获取访客详情失败:', err);
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
      },
      complete: () => {
        this.setData({ loading: false });
      }
    });
  },

  // 获取状态文本
  getStatusText(status) {
    switch (status) {
      case 1:
        return '生效中';
      case 2:
        return '待生效';
      case 3:
        return '已失效';
      default:
        return '未知状态';
    }
  },

  // 获取状态样式类
  getStatusClass(status) {
    switch (status) {
      case 1:
        return 'status-active';
      case 2:
        return 'status-pending';
      case 3:
        return 'status-expired';
      default:
        return 'status-unknown';
    }
  },

  // 格式化日期
  formatDate(dateStr) {
    if (!dateStr) return '';
    const date = new Date(dateStr);
    return `${date.getFullYear()}/${String(date.getMonth() + 1).padStart(2, '0')}/${String(date.getDate()).padStart(2, '0')}`;
  },

  // 格式化时长
  formatDuration(hours) {
    if (!hours) return '0h';
    return `${hours}h`;
  },

  // 查看通行证（后期可跳转或调用接口）
  viewPass: function(){
    wx.navigateTo({
      url: '/service/pages/pass/pass',
    });
  }
})